Route-based vehicle selection

ABSTRACT

A system includes a computing device that includes a memory configured to store instructions. The computing device also includes a processor to execute the instructions to perform operations that include receiving data representative of one or more travel parameters for one or more vehicles. The data for each of the one or more travel parameters being represented with distribution ranges. For each of the one or more vehicles, operations include calculating one or more metric values based on the one or more travel parameter data distributions. Operations also include assigning a score to each of the one or more vehicles based on the calculated one or more metric values, and, presenting a ranking of the one or more vehicles based on the assigned scores.

RELATED APPLICATION

The present application is a continuation of and claims priority to U.S.patent application Ser. No. 15/924,975, filed on Mar. 19, 2018, which isa continuation application U.S. patent application Ser. No. 14/074,272,filed on Nov. 7, 2013 (now U.S. Pat. No. 9,922,469), entitled“ROUTE-BASED VEHICLE SELECTION,” which applications are incorporatedherein by reference in their entirety.

BACKGROUND

This description relates to techniques for processing data to identifyvehicles and types of vehicles for travel routes.

With the increased interest in reducing dependency on fossil fuels, theuse of alternative energy sources has been incorporated into variousapplications, such as transportation. Both public and privatetransportation vehicles have been developed to run on fuels other thantraditional petroleum based fuels (i.e., petrol, diesel, etc.). Somevehicles solely use alternative energy sources while others combine thefunctionality of petroleum based systems with alternative energy basedsystems (e.g., electrical, biofuel, natural gas, etc.). Along with beingpotentially more cost-effective and having more abundant resources, suchalternative energy sources and their byproducts are considered to bemore environmentally friendly.

SUMMARY

The systems and techniques described here relate to computing andpresenting rankings of vehicles, vehicle types, etc. based on traveledroutes. Metrics computed from distributions of data (e.g., distributedover ranges of vehicle speeds) for one or more travel parameters (e.g.,distance traveled, fuel consumed, operating time, etc.) allow scores tobe assigned to each vehicle, vehicle type, etc. Once ranked andpresented for analysis, vehicle use, operations, etc. may be adjusted toachieve performance improvements (e.g., fuel economy) for the individualvehicles and potentially vehicle fleets (e.g., identify particularcombustion engine vehicles for conversion to alternative energy basedvehicles).

In one aspect, a computing device-implemented method includes receivingdata representative of one or more travel parameters for one or morevehicles. The data for each of the one or more travel parameters beingrepresented with distribution ranges. For each of the one or morevehicles, the method includes calculating one or more metric valuesbased on the one or more travel parameter data distributions. The methodalso includes assigning a score to each of the one or more vehiclesbased on the calculated one or more metric values, and, presenting aranking of the one or more vehicles based on the assigned scores.

Implementations may include one or more of the following features. Thedata representative of one or more travel parameters for one or morevehicles may be calculated from data collected from the one or morevehicles. The data collected from the one or more vehicles may representat least one of vehicle position, vehicle speed or time. At least one ofthe travel parameters may represent distance traveled by the vehicle.One of the metrics may represent a percentage of distance traveled bythe vehicle below a particular speed. One of the metrics may be based oncorrelating one of the travel parameter distributions and distributiondata representing a standard. One of the metrics may be based ondistance traveled by the vehicle for a period of time. The distributionranges may represent vehicle speeds, vehicle acceleration, etc. Theassigned score may represent vehicle performance for a drive cycle. Thepresented ranking may represent potential conversion candidate vehicles.The data representative of one or more travel parameters may be receivedfrom a data service provider.

In another aspect, a system includes a computing device that includes amemory configured to store instructions. The computing device alsoincludes a processor to execute the instructions to perform operationsthat include receiving data representative of one or more travelparameters for one or more vehicles. The data for each of the one ormore travel parameters being represented with distribution ranges. Foreach of the one or more vehicles, operations include calculating one ormore metric values based on the one or more travel parameter datadistributions. Operations also include assigning a score to each of theone or more vehicles based on the calculated one or more metric values,and, presenting a ranking of the one or more vehicles based on theassigned scores.

Implementations may include one or more of the following features. Thedata representative of one or more travel parameters for one or morevehicles may be calculated from data collected from the one or morevehicles. The data collected from the one or more vehicles may representat least one of vehicle position, vehicle speed or time. At least one ofthe travel parameters may represent distance traveled by the vehicle.One of the metrics may represent a percentage of distance traveled bythe vehicle below a particular speed. One of the metrics may be based oncorrelating one of the travel parameter distributions and distributiondata representing a standard. One of the metrics may be based ondistance traveled by the vehicle for a period of time. The distributionranges may represent vehicle speeds, vehicle acceleration, etc. Theassigned score may represent vehicle performance for a drive cycle. Thepresented ranking may represent potential conversion candidate vehicles.The data representative of one or more travel parameters may be receivedfrom a data service provider.

In another aspect, one or more computer readable media storinginstructions that are executable by a processing device, and upon suchexecution cause the processing device to perform operations that includereceiving data representative of one or more travel parameters for oneor more vehicles. The data for each of the one or more travel parametersbeing represented with distribution ranges. For each of the one or morevehicles, operations also include calculating one or more metric valuesbased on the one or more travel parameter data distributions. Operationsalso include assigning a score to each of the one or more vehicles basedon the calculated one or more metric values, and, presenting a rankingof the one or more vehicles based on the assigned scores.

Implementations may include one or more of the following features. Thedata representative of one or more travel parameters for one or morevehicles may be calculated from data collected from the one or morevehicles. The data collected from the one or more vehicles may representat least one of vehicle position, vehicle speed or time. At least one ofthe travel parameters may represent distance traveled by the vehicle.One of the metrics may represent a percentage of distance traveled bythe vehicle below a particular speed. One of the metrics may be based oncorrelating one of the travel parameter distributions and distributiondata representing a standard. One of the metrics may be based ondistance traveled by the vehicle for a period of time. The distributionranges may represent vehicle speeds, vehicle acceleration, etc. Theassigned score may represent vehicle performance for a drive cycle. Thepresented ranking may represent potential conversion candidate vehicles.The data representative of one or more travel parameters may be receivedfrom a data service provider.

These and other aspects, features and various combinations may beexpressed as methods, apparatus, systems, means for performingfunctions, program products, and in other ways.

Other features and advantages will be apparent from the description andthe claims.

DESCRIPTION OF DRAWINGS

FIG. 1 illustrates a vehicle that includes a vehicle informationmanager.

FIG. 2 illustrates a network-based vehicle analyzer for processing datato rank vehicles.

FIG. 3 illustrates the input and output data flow of a vehicleinformation manager.

FIG. 4 illustrates charts of travel parameters for a combustion enginevehicle and an alternative energy vehicle.

FIG. 5 illustrates histograms of travel parameters for a collection ofvehicles.

FIG. 6 is a chart of a ranked list of vehicles.

FIG. 7 is a flow chart of representative operations for a vehicleanalyzer.

FIG. 8 is a block diagram showing an example of a system for providinghosted storage and accessing the hosted storage from a client device.

FIG. 9 illustrates an example of a computing device and a mobilecomputing device that can be used to implement the techniques describedhere.

DETAILED DESCRIPTION

Referring to FIG. 1, based upon the traveled routes and environments(e.g., highway, city, rural, etc.) the use of different vehicles, typesof vehicles, etc. may prove optimum. Some environments and drivingconditions may lend well for conventional internal combustion basedvehicles while alternative fuel vehicles, which may solely rely uponnon-petroleum energy sources (e.g., electricity, natural gas, biofuelsetc.), may be better suited for other environments. Other vehicles thatmay prove to be optimum include hybrid vehicles that employ two or moredistinct power sources (e.g., an electric motor and an internalcombustion engine—referred to as a hybrid electric vehicle or HEV). Somehybrid vehicles (referred to as plug-in hybrid vehicles) may operate byusing energy storage devices that can be replenished (e.g., rechargeablebatteries). In some arrangements, for electrical energy storage devices,one or more techniques may be implemented for charging and rechargingthe devices. For example, batteries may be charged through regenerativebraking, strategic charging techniques, etc. during appropriateoperating periods of the vehicle. In general, energy is typically lostas heat in conventional braking systems, however a regenerative brakingsystem may recover this energy by using an electric generator to assistbraking operations. Some systems and techniques may also strategicallycollect (e.g., leech) energy from the combustion engine during periodsof efficient operation (e.g., coasting, traveling, etc.) and laterassist the engine during periods of lesser efficiency. For suchvehicles, the electric generator can be a device separate from theelectric motor, considered as a second operating mode of the electricmotor, or implemented through one or more other techniques, individuallyor in combination. Energy recovered by regenerative braking may beconsidered insufficient to provide the power needed by the vehicle. Tocounteract this lack of energy, the electric motor may be engaged duringdefined periods to assist the combustion engine. One or more controlstrategies may be used to determine these time periods. Similarly,periods of time may also be determined to engage regenerative brakingand strategic charging in order to replenish energy storage. Otheroperations of the vehicle (e.g., accelerate, decelerate, gear changes,etc.) may also be defined for the control strategies. By developing suchstrategies to control the assistance provided to combustion engines(e.g., during low efficiency periods), energy may be conserved withoutnegatively impacting vehicle performance. Along with such strategies,individual vehicles, types of vehicles, etc. may be selected for usebased on the operational environment, travel route, etc.

Some vehicle manufacturers may recommend operations and controlstrategies for entire classes of vehicles or other types of largevehicle groups (e.g., based on same vehicle model, vehicle line, etc.)at particular times (e.g., at the release of the vehicle line).Similarly, the level of assistance provided by an electric motor orother type of alternative fuel system may be a constant. Being ratherstatic, such recommendations do not account for the environment in whichthe vehicle is operated. Route specific information (e.g., vehicle isdriven under highway, city, rural, etc. conditions), driver information(e.g., driver accelerating and braking tendencies, etc.) and other typesof environmental information (e.g., time of day, season, etc.) are notaccounted for in determining the appropriate operational strategies.Furthermore, vehicle selection is typically determined withoutconsulting such route and environmental information. Typically a vehicleis selected absent this information because there is no other option(e.g., the driver has access to a single vehicle) or no information isprovided for vehicle management (e.g., a vehicle is randomly assigned toa driver, such as a delivery truck). Absent taking steps to attain,analyze and use such information for vehicle selection, poor performancemay occur along with related negative impacts (e.g., reduced fuelefficiency, increased operating costs, etc.). One or more techniques maybe implemented for appropriately selecting a vehicle, type of vehicle,etc. for operating in a particular environment. For example, datareflective of vehicles operating in the environment may be used forselecting a vehicle, which type of vehicle, etc. For suchdeterminations, one or more techniques may be implemented. For example,data such as operating speeds, fuel economy, etc. may be used forcalculating one or more performance metrics. In turn, the metrics may beutilized to determine a numerical score for the vehicle. Once assigned,the score can be used to rank the vehicle for being operated in thatenvironment and for performing further analysis. For example, the scoreor rank may be used to identify which vehicle is appropriate for theenvironment. Further, the appropriate type of vehicle may be selected.For example, converting one vehicle type (e.g., a combustion enginebased vehicle) into another vehicle type (e.g., hybrid vehicle) mayprovide performance improvements in fuel efficiency, costs, etc. Suchimprovements may be incorporated into recommended operations and controlstrategies. For example, hybrid conversions may be more advantageous(e.g., reduced fuel consumption) for lower speed environments and lessadvantageous in high speed environments.

As shown in FIG. 1, an example vehicle 100 (e.g., a hybrid automobile)is capable of collecting data for use in identifying the appropriatevehicle, type of vehicle, etc. for operating in a particularenvironment, travel route, etc. To provide this capability, the vehicleincludes an information manager 102 (here embedded in the dashboard ofthe vehicle 100) that may be implemented in hardware (e.g., a controller104), software (e.g., executable instructions residing on a computingdevice contained in the vehicle), a combination of hardware andsoftware, etc. In some arrangements, the information manager 102 mayoperate in a generally autonomous manner for data collection,transmission and other types of functionality. To collect vehicleperformance related information, data may be collected from one or moreinputs. For example, the information manager 102 may communicate withone or more portions of the vehicle. A variety of sensors, components,processing units, etc. of the vehicle may exchange data with theinformation manager 102. For example, operational information of thevehicle such as speed, acceleration, etc., may be collected over time(e.g., as the vehicle operates) and provided to the informationalmanager 102. Location information (e.g., from a global positioningsystem receiver present in the vehicle) may also be collected by theinformation manager 102 to provide a record of the ground covered duringvehicle operation. One or more timing signals can be collected,generated, etc. by the information manager 102. For example, a timingsignal may be produced that represents the instances in which thevehicle's speed, location, etc. was sampled (e.g., every two seconds,etc.). Other type of operational information may also be provided fromthe vehicle; for example, data representing braking, steering, etc. mayalso be provided to the information manager 102. Vehicle components thatprovide information to the information manager 102 may also includeinterface modules, circuitry, etc. for controlling the operations of thecombustion engine, the electrical motor, etc.

In some situations, data from sources other than the vehicle may also becollected. For example, user input may be provided. In this arrangement,the vehicle 100 includes an electronic display 106 that has beenincorporated into its dashboard to present information such asselectable entries regarding different topics (e.g., operator ID,planned vehicle operations, trip destination, etc.). Upon selection,representative information may be gathered and provided to theinformation manager 102. To interact with the electronic display 106, aknob 108 illustrates a potential control device; however, one or moreother types of devices may be used for user interaction (e.g., a touchscreen display, etc.). Similar to using one or more sensors to collectoperational data, other types of information may also be gathered; forexample, a sensor 110 (here embedded in the dashboard of the vehicle100) may collect information such as cabin temperature, location of thevehicle (e.g., the sensor being a GPS receiver) and other types ofinformation. By collecting information such as GPS location, additionalinformation may be provided to the information manager 102 (e.g.,current location, start location, destination information) which may beused for quantifying vehicle performance. In some arrangements,information from other vehicles may be used by the information manager102. For example, data may be collected from a fleet of vehicles (e.g.,similar or dissimilar to the vehicle 100) and used, for example, fordata comparisons. While one sensor 110 is illustrated in this example,multiple sensors may be located internally or externally to the vehiclefor information collection (e.g., internal or external temperature,etc.). One or more devices present in the vehicle 100 may also be usedfor information collection; for example, handheld devices (e.g., a smartphone 112, etc.) may collect and provide information (e.g., locationinformation, identify individuals present in the vehicle such as vehicleoperators, etc.) for use by the information manager 102 (e.g., identifydriving characteristics of a vehicle operator). Similarly, portions ofthe vehicle itself (e.g., vehicle components) may collect informationfor the information manager 102; for example, one or more of the seatsof the vehicle 100 (e.g., driver seat 114) may collect information(e.g., position of the seat to estimate the driver's weight) to provideto the information manager 102. Similar to data directly provided by oneor more sensors, processed data may also be provided to the informationmanager 102. For example, gathered information may be processed by oneor more computing devices (e.g., processors included in the controller104) before being provided to the information manager 102.

In general, the collected operational information (vehicle speed,acceleration, etc.) can be used for defining one or more datadistributions. For example, the vehicle may operate over a range ofspeeds, accelerations, etc., based on the operational environment. Forhighways, remote rural settings, etc. the vehicle may be driven atrelatively high speeds for long periods of time. Alternatively, in abusy urban setting, the vehicle may be operated over a larger range ofspeeds (e.g., slow speeds due to congested traffic) for relatively shortperiods of time. Data from the vehicle may be associated with theseranges of operating speeds, accelerations, etc. For example, time spentoperating within a speed range, distance covered while operating withinthe speed range, fuel consumed while operating within the speed range,etc. may be collected from the vehicle (or calculated from the collectedinformation) and associated with a speed range. By viewing this data(e.g., time spent, distance driven, fuel consumed, etc.) as adistribution defined by the speed ranges, vehicle performance may bequantified and analyzed for speed ranges. From the analysis, fueleconomy and other types of performance measures can be determined.Metrics may also be calculated from the data distributions for applyinga score to the vehicle. This score, which reflects the operatingenvironment through the vehicle's distribution data, can be used forvehicle ranking. Along with identifying one or more vehicles whoseperformance is appropriate for the environment, the ranking may alsoidentify vehicle adjustments to improve performance (e.g., vehicleconversion, type of propulsion system to employ, etc.). One or morecontrol strategies may also be developed from the data distributions andanalysis. For example, strategies may be developed from the datadistributes for controlling an alternative fuel system of a hybridvehicle (e.g., an electric motor) in order to assist the combustionengine of the vehicle.

In some arrangements, along with collecting information at the vehicle,remotely located information sources may be accessed by the vehicle.Along with collection remotely located information, some or all of thefunctionality of the information manager 102 may be provided from aremote location. While residing onboard the vehicle 100 in illustratedfigure, the information manager 102 or a portion of the performancemanager may, in some arrangements, be located and executed at one ormore other locations. In such situations, vehicle equipment (e.g.,sensors) may provide (e.g., stream) raw data to a remotely locatedinformation manager by employing one or more communication techniquesand methodologies. For example, one or more wireless communicationtechniques (e.g., radio frequency, infrared, etc.) may be utilized thatcall upon one or more protocols and/or standards (e.g., the IEEE 802.11family of standards such as Wi-Fi, the International MobileTelecommunications-2000 (IMT-2000) specifications such as 3rd generationmobile telecommunications (3G), 4th generation cellular wirelessstandards (4G), wireless technology standards for exchanging data overrelatively short distances such as Bluetooth, etc.).

Referring to FIG. 2, an information exchanging environment 200 ispresented that allows information to be provided to a central locationfor storage and analysis (e.g., ranking vehicle for operating inparticular environments). In general, the information is collected fromindividual vehicles or other information sources for the analysis. Oneor more techniques and methodologies may be implemented; for example,one or more communication techniques and network architectures may beused to exchange information. In the illustrated example a vehicleinformation provider 202 communicates through a network 204 (e.g., theInternet, an intranet, a combination of networks, etc.) to exchangeinformation with a collection of vehicles (e.g., a small fleet of supplytrucks 206, 208, 210, and an automobile 212). Each of the vehicles mayemploy one type of propulsion system (e.g., a combustion engine, anelectric motor, etc.) or a combination of system (e.g., a hybridvehicle).

In some arrangements, the network architecture 204 may be considered asincluding one or more of the vehicles. For example, vehicles may includeequipment for providing one or more network nodes (e.g., supply truck208 functions as a node for exchanging information between the supplytruck 210 and the network 204). As such, the information exchangingcapability may include the vehicles exchanging information with thevehicle information provider 202 and other potential network components(e.g., other vehicles, etc.).

One or more technologies may be used to exchange information among thevehicle information provider 202, the network 204 (or networks) and thecollection of vehicles. For example, wireless technology (capable oftwo-way communication) may be incorporated into the vehicles to exchangeinformation with the vehicle information provider 202. Along withproviding and collecting information from the vehicles, the vehicleinformation provider 202 may be capable of processing information (e.g.,in concert with a vehicle analyzer 214 to analyze data and rank vehiclesfor possible selection, conversion, etc.) and executing relatedoperations (e.g., store collected and processed information).

In some arrangements, the vehicle information provider 202 may operateas a single entity; however, operations may be distributed among variousentities to provide the functionality. In some arrangements, somefunctionality (e.g., operations of the vehicle analyzer 214) may beconsidered a service, rather than a product, and may be attained byentering into a relationship with the vehicle information provider 202(e.g., purchase a subscription, enter into a contractual agreement,etc.). As such, the vehicle information provider 202 may be consideredas being implemented as a cloud computing architecture in which itsfunctionality is perceived by users (e.g., vehicle operators, businessoperators, vehicle designers and manufacturers, etc.) as a servicerather than a product. For such arrangements, users may be providedinformation (e.g., vehicle or vehicle type selections for operating inparticular environments, vehicle selections for conversion into hybridvehicles, etc.) from one or more shared resources (e.g., hardware,software, etc.) used by the vehicle information provider 202. Forservice compensation, one or more techniques may be utilized; forexample, subscription plans for various time periods may be implemented(e.g., a time period for monitoring use of vehicles or vehicle types inparticular environments, analyzing if new technology should beincorporated into or used to replace vehicles, etc.).

Along with information being provided by one or more vehicles (e.g.,received through the network 204, etc.), the vehicle informationprovider 202 may utilize data from other sources. For example,information sources 216 external to the vehicle information provider 202may provide vehicle related information (e.g., manufacturerrecommendations for performance, vehicle load conditions, etc.),environmental information (e.g., current road conditions where thevehicle is operating, traffic conditions, topographical information,weather conditions and forecasts, etc.). In some arrangements, theinformation sources 216 may be in direct communication with the vehicleinformation provider 202; however, other communication techniques mayalso be implemented (e.g., information from the information sources 216may be provided through one or more networks such as network 204).

In the illustrated example, to provide such functionality, the vehicleinformation provider 202 includes a server 218 that is capable of beingprovided information by the network 204 and the information sources 216.Additionally, the server 218 is illustrated as being in directcommunication with a storage device 220 that is located at the vehicleinformation provider 202 (however, remotely located storage may beaccessed by the server 218). In this example, the functionality of thevehicle analyzer 214 is located off-board the vehicle while thefunctionality of the information manager 102 (shown in FIG. 1) islocated on-board the vehicle. In some examples, some functionality ofthe vehicle analyzer 214 and the information manager 102 may be executedat other locations, distributed across multiple locations, etc. In onearrangement, a portion of the functionality of the vehicle analyzer 214may be executed on-board a vehicle or a portion of the informationmanager 102 may executed at the vehicle information provider 202.Provided the information from the one or more of sources, datadistributions and metrics may be developed by the vehicle analyzer 214.For example, one or more metrics may be determined that provide ameasure of how often the vehicle was able to operate in particle speedranges. Correlations may also be calculated using data that represents avehicle's operating performance and one or more performance standards.From the calculated metrics, the vehicle analyzer 214 may score and rankvehicles for comparisons. Along with determining such metrics, rankings,etc., functionality of the vehicle analyzer 214 may appropriately managecollected data, data distributions, rankings, etc. for delivery (e.g.,to service subscribers, entities, vehicles, etc.). For example, one ormore database systems, data management architectures and communicationschemes may be utilized by the vehicle analyzer 214 for informationdistribution. In some arrangements, such distribution functionality maybe provided partially or fully by the vehicle analyzer 214 or externalto the vehicle analyzer. In some arrangements this distributionfunctionality may be provided by other portions of the vehicleinformation provider 202 or one or more other entities (separate fromthe information provider) for distributing metrics and/or rankings, etc.Further, while a single server (e.g., server 218) is implemented in thisarrangement to provide the functionality for the vehicle informationprovider 202, additional servers or other types of computing devices maybe used to provide the functionality. For example, operations of thevehicle analyzer 214 may be distributed among multiple computing devicesin one or more locations.

Upon the metrics, rankings, etc. being produced, one or more operationsmay be executed to provide appropriate information (e.g., forpresentation at one or more entities, vehicles, etc.). By employing oneor more data transition techniques, information may be delivered throughthe network 204 along with other types of communication systems. In somearrangements, one or more trigger events may initiate the informationbeing sent. For example, upon one or more messages, signals, etc. beingreceived at the vehicle information provider 202 (e.g., a request forparticular vehicle rankings), data representing the requestedinformation may be provided.

Referring to FIG. 3, a graphical representation 300 illustrates datathat may be provided to the vehicle analyzer 214 and datacorrespondingly produced (e.g., for presentation, transmission, etc.).In general, data representing operational information (e.g., speed,acceleration, etc.) from one or more vehicles (e.g., combustion enginebased vehicles, alternative energy based vehicles, etc.) is provided tothe vehicle analyzer 214. Potentially, other types of information suchas environmental-related information (e.g., GPS location of thevehicles, road conditions, etc.) may also be provided. In somearrangements, the information is provided as a time series of data alongwith timing information (e.g., time stamps) for allowing the vehicleanalyzer 214 to perform calculations (e.g., determined distance traveledfor each speed, acceleration, etc.). In some arrangements, processeddata (e.g., from the information manager 102) may also be provided. Forexample, operating ranges of the vehicle (e.g., speed ranges,acceleration ranges, etc.) may be provided. In one arrangement, theprovided ranges may be operating speeds of the vehicle (e.g., 0 MPH,0-10 MPH, 10-20 MPH, 20-30 MPH, 30-40 MPH, 40-50 MPH, 50-60 MPH, 60-70MPH, over 70 MPH). Similar data and ranges may also be provided foracceleration ranges or other types of operational information. In onearrangement, such ranges may be provided from the vehicle (e.g., theinformation manager 102) to the vehicle information provider 202 for theproduction of data distributions (e.g., distributions of time spentoperating at particular speeds, distance covered while operating atparticular accelerations, etc.). Such ranges and distributions may,however, be defined and produced at the vehicle information provider 202from vehicle provided data (e.g., time series data representing vehiclespeed, GPS position, data collection timing, etc.). Along with beingprovided such data from vehicles under operation (e.g., datatransmitted, streamed in real-time, etc.), such data may be providedfrom other sources. For example, vehicle data (e.g., time series data)may be stored (in one or more storage devices), later retrieved andprovided to the vehicle information provider 202.

Once identified, the ranges (e.g., speed ranges, acceleration ranges,etc.) can be used to produce distributions for different travelparameters associated with the operating state of the vehicle. Travelparameters may be calculated from the received operational informationand represented in distributions based upon the ranges. For example, theamount of time that the vehicle operates in each range (e.g., time spenttraveling between 10 and 20 MPH), distance traveled for each range(e.g., distance covered while traveling between 20 and 40 MPH), fuelconsumed while operating within each range (e.g., gallons of fuelconsumed while operating between 60 and 70 MPH), etc. may be representedby travel parameters. In some arrangements, data is provided from one ormore vehicles that represents the travel parameters (e.g., the amount offuel consumed over time). Travel parameters may also be determinedexternal to the vehicle (e.g., at the vehicle information provider 202)or in concert with the vehicle (e.g., by the information manager 102).

Such travel parameters may represent quantities that are not tied to aspecific type of vehicle. For example, the time that a vehicle operateswithin a particular speed range (e.g., time spent traveling between 10and 20 MPH) can be considered a travel parameter that holds forpractically all types of vehicles (e.g., combustion engine vehicles,electric motor vehicles, hybrid vehicles, etc.). Other types of travelparameters may represent quantities related to particular types ofvehicles; for example, a travel parameter may represent the amount ofalternative energy (from an electric motor) applied to a driveline for aparticular speed range or may represent the amount of alternative energyregenerated (e.g., electric energy for battery recharging) while thevehicle is operating in a particular speed range. In some arrangements,distribution data (e.g., for a travel parameter over a range of speeds)may be produced on-board the vehicle (e.g., by the information manager102) and provided to the vehicle analyzer 214. In other arrangements,one or more of the distributions may be produced by the vehicle analyzer214. For example, provided time series data that represents theoperating speeds, accelerations, etc. of a vehicle, the vehicle analyzer214 may determine a number of appropriate ranges along with thedistribution of the times that the vehicle operated within each of theranges.

Once travel parameter distributions are produced (e.g., time spent,distance covered, fuel consumed, etc. for each speed range), one or moreoperations may be executed by the vehicle analyzer 214. For example,other data distributions, metrics, etc. may be produced that representthe performance of the vehicle. For example, for each distributionrange, a performance metric, such as average fuel economy (e.g.,represented in miles-per-gallon), average consumed fuel rate (e.g.,represented in gallons-per-hour), percentage total distance travelled,etc., may be computed for each vehicle. From these distributions, othertypes of metrics may be calculated and used to determine scores andranking for vehicles.

Once calculated, one or more techniques and methodologies may beimplemented to present the distributions, performance metrics, etc. Forexample, graphical representations, such as one or more histograms, maybe used to present data distributions. Other types of graphicalrepresentations may also be used to assist a viewer in identifyingparticular performance features of a vehicle (e.g., for visuallycomparing with similar information from two or more other vehicles).Along with presenting this information (e.g., on a display deviceconnected to the server 218, a vehicle display, a display located remotefrom the vehicle information provider), the information may also bestored (e.g., on the storage device 220) at the vehicle informationprovider 202, at one or more remote locations, etc. Upon being providedthe information (e.g., by using the network 204), further processing ofthe metrics, distributions, etc. may also be executed at the vehicleinformation provider 202 or at multiple locations.

Referring to FIG. 4, two charts 400, 402 are presented that includedistribution data collected and processed for two different vehicles. Inthis arrangement, similar types of data are collected from each vehiclewhile under operation (e.g., time series data representing travel speed,GPS position, fuel consumed etc.). From the collected data, travelparameters are calculated for the first vehicle, identified as “VehicleA”, and presented in chart 400. In this example, vehicle A is acombustion engine based vehicle and includes an information manager(such as performance manager 102 shown in FIG. 1) for collectingoperational information from the vehicle. As represented in the chart400, the collected operating speeds of the vehicle are used to definemultiple speed ranges. In this particular example, nine ranges (e.g., 0MPH, 0-10 MPH, 10-20 MPH, 20-30 MPH, 30-40 MPH, 50-60 MPG, 60-70 MPH,and +70 MPG) are defined in column 404; however, more or less ranges beused in other arrangements. Along with the operating speeds of thevehicle, the calculated travel parameters (or collected travelparameters in some arrangements) are also represented in the chart. Forthe ranges of speeds provided, column 406 represents fuel consumed bythe vehicle (in gallons), column 408 represents the time (in hours)spent within each of the speed ranges, and column 410 represents thedistance driven for each speed range. The chart 400 also includes othercalculated travel parameters. For example, column 412 represents thefuel economy in miles-per-gallon (MPG) determined by dividing distancedriven by the time spent within the corresponding speed range of thedistribution data. Fuel rate (measured in gallons per hour) is providedby column 414 and is calculated by dividing the fuel consumed by thetime spent in the corresponding speed range. The percentage of distancetraveled by the vehicle is provided by dividing the distance drivenwhile within the corresponding speed range by the sum of distancestraveled for all of the speed ranges (e.g., the sum of the distancevalues included in column 410). From these travel parameters in columns406-416, which may be collected, calculated, etc., performanceinformation of the combustion engine based vehicle is determined andpresented. Once determined, the scores may be assigned to rank thevehicle, for example, with other vehicles that have traveled in asimilar environment (e.g., driven in a similar area, route, etc. undersimilar conditions).

Chart 402 provides similar distribution data for a vehicle that employsan alternative fuel system, such as a hybrid vehicle, and is identifiedas “Vehicle B”. In some instances, the Vehicle A may also be a hybridvehicle (e.g., Vehicle B) in which the alternative fuel system (e.g.,electric motor) has been deactivated and Vehicle B represents when thealternative fuel system is active. In particular, the chart 402 includesequivalent speed ranges in column 418 and travel parameters determinedfrom operational information collected from the vehicle (e.g., timeseries data representing travel speed, GPS position, fuel consumedetc.). From the collected data, similar travel parameters are calculatedand presented in column 420 (fuel consumed in gallons), column 422 (timespent in hours) and column 424 (distance driven in miles). Also similarto chart 400, chart 402 includes calculated travel parameters in column426, which provides the fuel economy (in MPG) for each of the speedranges of the distribution, column 428, which provides the calculatedfuel rate (in gallons per hour) for each range, and column 430, whichprovides the calculated percentage distance traveled within each of thespeed ranges. Similar to the distribution data presented in chart 400,the data presented in chart 402 may be used to develop one or moremetrics for scoring and ranking the Vehicle B. By using data collectedby both vehicles that were operated in similar environment (e.g., drivenin the same area, across the same routes, etc.) and both under similarconditions (e.g., driven the same time of day, season of the year,similar weather conditions, etc.), the ranking of the vehicles maysuggest which of the two (or another type of vehicle) is better suitedfor the area, performs better (e.g., conserves fuel while not degradingoperations), etc. From the analysis provided by the vehicle analyzer214, the ranking may represent if another type of fleet vehicle (e.g., ahybrid vehicle) may outperform the current type fleet vehicle operatingin the general area or on particular routes.

Referring to FIG. 5, distribution data produced by the vehicle analyzer214 (shown in FIG. 3) is presented for a collection of vehicles. In thisillustration, one sheet presents distribution data that corresponds toone of the vehicles (e.g., sheet 500 presents distribution data forVehicle A, sheet 502 presents distribution data for Vehicle B and sheet504 presents distribution data for Vehicle 504). On each sheet,histograms represent data distributions for each produced travelparameter. For example, histograms 506, 508, 510, 512, 514, and 516correspondingly represent travel parameter distributions for Vehicle A:fuel consumed (in gallons), time spent (in hours), distance driven (inmiles), fuel economy (in MPG), fuel rate (in gallons per hour) andpercentage of total distance traveled. In this example, equivalent speedranges are used to represent each histogram, however, in somearrangements the ranges may be match for each of the travel parameterdistributions. From the data provided by the distributions, one or moremetric may be developed that can be used for comparing the performanceof different vehicles, different types of vehicles, etc. The metrics mayuse information provided by one or more of the histograms 506-516 andmay also employ information from other sources.

One exemplary metric may represent the percentage of total distancetraveled by each vehicle below a particular speed (e.g., below 40 mph).Such a metric may represent a measure of lower speed travel in whichcertain types of vehicles (e.g., electric vehicles, hybrid vehiclesutilizing their electric motor, etc.) may be considered more efficient.One or more operations may be executed by the vehicle analyzer 214 toattain such a metric; for example, appropriate data may be aggregatedfrom the histogram 516 to determine the percentage distance traveledbelow a speed (e.g., sum distribution data for ranges 0-10, 10-20, and20-30 mph).

One or more other metrics may also be developed related to distancetraveled. For example, the total distance driven for a period of time(e.g., a week, month, six-month period, year, etc.) may be calculated.From some time periods, data from only a single distribution (e.g.,represented in histogram 510) may be needed. For example, if adistribution represents distance data collected for a three-monthperiod, the distribution may be used for determining the total distancetraveled by the vehicle for a week or a month. For situations in which aconsiderable amount of information is needed (e.g., total distancetraveled for a year, a five-year period, etc.) data from multipledistributions, histograms, etc. may be utilized. Similar to traveldistance, other types of distribution data may be used for developingone or more metrics.

Metrics may also be defined by using information from other sourcesalong with distribution data. For example, one or more standards,models, etc. may be used to compare the vehicle generated data withsimulated data that represents drive cycles typically experienced by anoperated vehicle. For example, data may be used that represents citydriving conditions for a light duty vehicle (and is referred to as theUrban Dynamometer Driving Schedule—UDDS). The UDDS drive cycle data maybe represented by a velocity time series (e.g., velocity as a functionof time). The data represents a traveled distance of 7.5 miles and anaverage speed of 19.6 mph. One or more techniques may be employed fordeveloping a performance metric using these data sets. For example, oneor more data distributions could be produced from the UDDS data andcompared to similar data distributions of the vehicle. Similar to thedata distribution represented in the histogram 510, a distribution maybe computed (e.g., by the vehicle analyzer 214) that represents distancedriven as reflected in the UDDS drive cycle data. As also presented inthe histogram 510, matching speed ranges (e.g., 0-10, 10-20, . . .60-70, +70 mph) could be used for producing the distribution data forthe UDDS drive cycle. Similar to producing distribution data thatrepresented driven distance, other types of data distributions may alsobe computed from the UDDS drive cycle data (e.g., time spentdistribution similar to the data in histogram 508, percentage of totaldistance traveled distribution similar to the data in histogram 516,etc.). Once the UDDS distribution is produced for distance driven, oneor more techniques may be implemented to compare the distribution datasets of the vehicle and the UDDS drive cycle. For example, a correlationfunction may be computed in which both distribution data sets are usedas input. Based on the computed correlation of the distributions, one ormore recommendations may be reflected in the comparison. For example,since the UDDS drive cycle data reflects city driving conditions, arelatively high correlation between the data sets may suggest that thevehicle has been traveling in a city environment. Further, if thevehicle is a convention combustion engine vehicle, a high correlationmay suggest converting to a hybrid vehicle to improve fuel economy for alow-speed driving environment. Other distribution comparison techniquesand computations with other types of distribution data may also beutilized to assist with recommending an appropriate vehicle, vehicletype for fleet, etc. for the driving environment. Other standards mayalso be reflected in distribution data. For example, standard drivecycle test data (e.g., from Federal Test Procedure (FTP)) such ashighway driving (HWFET), aggressive driving (SFTP US06), optional airconditioning test data (SFTP SC030) may be utilized from one or moregroups (e.g., US Environmental Protection Agency (EPA), etc.).

Referring to FIG. 6, a chart 600 presents calculated information in theform of three performance metrics for eight different vehicles. Basedupon the calculated metrics, the vehicles are scored and ranked to allowfor determining which are appropriate candidates for converting toinclude alternative fuel system for operating in this environment (e.g.,convert a combustion engine based vehicle into a hybrid vehicle). Inthis particular example, three columns 602, 604, 606 in the chart 600provide three performance metrics calculated from corresponding vehicledistribution data. For example, column 602 provides the percentage ofdistance traveled by each vehicle while operating less than 40 mph. Asrepresented in the column 602, numerical values may range fromsignificant amounts (e.g., 73% of distance traveled) to relatively smallpercentages (e.g., 28% of the traveled distance). Column 604 presentsnumerical values that represent the level of correlation between thedistance traveled distribution data and the distribution data of a UDDSdrive cycle. In general, a vehicle having a drive cycle that is highlycorrelated to the UDDS drive may be a probable candidate for conversion(to a hybrid vehicle). However, if another standardized drive cycle isemployed that closely reflects highway travel, high correlation levelsmay suggest that the vehicle is generally operating efficiently and maynot warrant a conversion (from a combustion engine based system to ahybrid system). For the third performance metric in this example, thetotal distance traveled by each vehicle for a particular time period(e.g., 1 year) is represented in column 606. While three metrics areutilized in this example, more or less metrics may be employed.Furthermore, different types of vehicle performance metrics may be used.

Upon the performance metrics being quantified, one or more types oftechniques may be used for scoring and eventually ranking the vehicles(e.g., to identify potential conversion targets). For example, one ormore of the performance metrics may be weighted to prioritize themetrics. In one instance, the percentage of distance traveled under 40mph values (e.g., in column 602) may be weighted heavier than the totaldistance travelled values (e.g., represented in column 606). Onceweighted (if weighting is employed), the metric values may be processed(e.g., averaged) to attain a metric average for each vehicle (asrepresented in column 608). From these average metric values, a scoremay be applied to each vehicle (as represented in column 610). In thisillustrated example, the scores in column 610 are sorted from largest tosmallest for ranking the vehicles. In general, a higher score reflectsthat the vehicle can be considered a conversion candidate while lowerscores reflect that the vehicle can be considered as operatingefficiently for the environment (and should not be converted). Uponassigning the scores, the vehicles may be ranked and presented (in aranked form) using a unique vehicle identifier as illustrated in column612. Processing may continue, in some arrangements, using the vehicleranking. For example, one or more thresholds may be defined to indicatewhich vehicles are recommended for conversion (e.g., a hybridconversion). For example, as represented by the dashed line 614,vehicles assigned scores larger than 83 can be considered conversioncandidates. To highlight such vehicles, the line 614 can be placed at avertical position below the candidates. Other graphical techniques maybe employed to draw attention to this distinction between the vehicles.

Similar to the ranking presented in the chart 600, one or more otherbases may be employed. For example, rankings may be determined fromother types of performance metrics that may be used separate or inconcert with the percentage of distance traveled under 40 mph values(represented in column 602). For example, performance metrics associatedwith vehicle loading, greenhouse emissions, idling time, etc. may beused for assigning a score and ranking each vehicle. Ranking may bedetermined for a variety of applications, for example, vehicles may beranked for various types of drive cycles to allow appropriate vehiclesto be matched to the drives cycles. For example, one type of vehicle(e.g., a diesel-engine vehicle) may be highly ranked for one type ofdrive cycle (e.g., associated with highway travel) while not highlyranked for another type of drive cycle (e.g., local road travel). Assuch, rankings for a vehicle can be considered multi-dimensional toprovide information for a number of drive cycles and other types ofscenarios. In some implementations, one or more rules may be applied aspart of the scoring and ranking process (e.g., applying a rule before,during or after assigning scores). For example, based upon loadingeffects, the employed propulsion system, etc. one or more vehicle typesmay be deemed not appropriate for particular drive cycles. Scoringand/or ranking may be based upon return on investment (ROI) or anothertype of measure (or multiple measures) that may constrain rankings toinclude or not include some vehicle types. For example, use ofparticular vehicle types may be prohibited (e.g., natural gas poweredvehicles may be prohibited in some areas). As such, a process ofmatching appropriate vehicles to one or more drive cycles, environmentalconditions, etc. may include application of one or more rules. Forexample, for some conditions, purchasing a new vehicle may berecommended.

Referring to FIG. 7, a flowchart 700 represents operations of acomputing device, such as a server (e.g., the server 218 shown in FIG.3) executing a vehicle analyzer 214 (also shown in FIG. 3). In general,executed operations use data distributions to determine values for oneor more performance metrics (e.g., percentage of distance traveled under40 mph). The metrics are used to score and rank vehicles and potentiallyprovide recommendations (e.g., assigning vehicles for particular routes,converting vehicle propulsion systems, etc.). Such operations (e.g., ofthe vehicle analyzer 214) are typically executed by components (e.g.,processors, etc.) included in a single computing device (e.g., acomputing device such as the server 218 shown in FIG. 3, or an on-boardvehicle device such as controller 104 as shown in FIG. 1); however,operations may be executed by multiple computing devices. Along withbeing executed at a single site (e.g., at the vehicle informationmanager 202, onboard a vehicle, etc.), operation execution may bedistributed among two or more locations.

Operations may include receiving 702 data representative of one or moretravel parameters for one or more vehicles. The data for each of the oneor more travel parameters is represented with distribution ranges. Forexample, based upon operational information received from a vehicle(e.g., vehicle speed, acceleration, GPS location of the vehicle, fuelbeing consumed, a timing signal, etc.) distributions of data may bereceived by the vehicle analyzer. The data distributions may be definedby ranges that represent bands of operating speeds (e.g., 0-10 mph,20-30 mph . . . 60-70 mph, over 70 mph, etc.), acceleration bands, etc.The travel parameters represented by the data distributions mayrepresent distance traveled within each range, fuel consumed within eachrange, time spent operating within each range, etc. (as presented in thecharts 400 and 402 in FIG. 4). Operations may also include, for each ofthe one or more vehicles, calculating 704 one or more metric valuesbased on the one or more travel parameter data distributions. Forexample, metric values such as the percentage of distance traveled bythe vehicle at less than a particular speed (e.g., 40 mph) may becalculated. Such metric values may be calculated by also using otherinformation sources. For example, a data distribution that representsthe distance traveled within each range may be correlated todistribution data attained from a standard (e.g., UDDS data). In stillanother example, a metric value may represent the total distancetraveled by the vehicle for a particular time period (e.g., one year).Many other types of metrics may be defined and used to determinecorresponding values for vehicles. Operations may also include assigning706 a score to each of the one or more vehicles based on the calculatedone or more metric values. For example, for each vehicle, weights may beapplied to each of the calculated metric values and a score may beassigned based upon a combination of the weighted metric values (e.g., acalculated average). Operations may also include presenting 708 aranking of the one or more vehicles based on the assigned scores. Forexample, a listing may be presented on the display of a computing device(e.g., at a location where vehicles are assigned delivery routes orselected to perform other types of tasks). The vehicle ranking includedin the listing may assist with a number of determinations. Vehicles maybe identified from the performance ranking for task assignments. Thevehicle performance ranking may also assist with identifying candidatevehicles for particular adjustments. For example, when identified asbeing inefficient (e.g., poor fuel economy) for city environment travel,a vehicle may be identified for conversion from a combustion enginebased vehicle to a hybrid vehicle.

FIG. 8 is a block diagram that shows an example of a system 800 forproviding hosted storage and accessing the hosted storage from a clientdevice 802 (e.g., a computing device, a computing device incorporatedinto a vehicle, etc.). In some implementations, a hosted storage service820 may provide access to stored data (e.g., distribution data,performance metric values, etc.) by applications (e.g., web browsers,dedicated applications) running on computing devices operatingseparately from one another, provide offsite data backup and restorefunctionality, provide data storage to a computing device with limitedstorage capabilities, and/or provide storage functionality notimplemented on a computing device.

The system 800 may provide scalable stores for storing data resources.The client device 802 may upload data resources to the hosted storageservice 820 and control access to the uploaded data resources. Accesscontrol may include a range of sharing levels (e.g., private, sharedwith one or more individuals, shared with one or more groups, public,etc.). Data stored in hosted storage service 820 can be secured fromunauthorized access. The hosted storage service 820 can use a simple andconsistent application programming interface, or API, which can allowarbitrary quantities of structured or unstructured data to be keptprivate or shared between individuals, organizations, and/or with theworld at large.

The client device 802 may be implemented using a computing device, suchas the computing device 900 or the mobile device 950 described withrespect to FIG. 9. The client device 802 may communicate with the hostedstorage service 820 (e.g., located at the vehicle information provider202) via a network 804, such as the Internet. The client device 802 maycommunicate across the network using communication protocols. Electronicmail (e-mail) protocols may also be utilized. For example, one or moree-mail protocols may be used to provide assets (e.g., distributions,metrics, etc.) to an imaging device (e.g., a display) from the hostedstorage service 820, a computing device such as the computing device 900or the mobile device 950, etc. While only a single client device 802 isshown, there may be multiple client devices communicating across thenetwork 804 with the hosted storage service 820 and/or other servicesand devices.

The hosted storage service 820 may be implemented such that clientapplications executing on client device 802, such as a clientapplication 803, may store, retrieve, or otherwise manipulate dataresources in the hosted storage service 820.

The hosted storage service 820 generally includes an interface frontend806, an interface backend 808, a storage backend 810, and metadata 816for resources stored in the storage backend 810. The hosted storageservice 820 may also include an authenticator 809 to verify that a userrequesting vehicle identification, distribution data, performancemetrics, comparison metrics, etc. should be provided access to the data(e.g., based on a service subscription, rental period, etc.).

In general, the interface frontend 806 may receive requests from andsend responses to the client device 802. For instance, the hostedstorage service 820 may be implemented as a Web Service. Interfacefrontend 806 may receive messages from the client 802 and parse therequests into a format usable by the hosted storage service 820, such asa remote procedure call (RPC) to an interface backend 808. The interfacefrontend 806 may write responses generated by the hosted storage service820 for transmission to the client 802. In some implementations,multiple interface frontends 806 may be implemented (e.g., to supportmultiple access protocols).

The interface frontend 806 may include a graphical front end, forexample, to display on a web browser for data access. The interfacefrontend 806 may include a sub-system to enable managed uploads anddownloads of files (e.g., for functionality such as pause, resume, andrecover from time-out).

In some arrangements, a data resource is accessed as a resource,uniquely named using a uniform resource identifier (URI), and the clientapplication 803 and service 820 exchange representations of resourcestate using a defined set of operations. For example, requested actionsmay be represented as verbs, such as by HTTP GET, PUT, and DELETE. TheGET verb may be used to retrieve a resource. The DELETE verb may be usedto delete a resource from the hosted storage service 820. The PUT verbmay be used to upload a resource to the service 820. PUT requests maycome from the client 802 and contain authentication, authorizationcredentials, and resource metadata in a header.

In general, resources stored in the hosted storage service 820 may bereferenced by resource identifiers. The hosted storage service 820 maydefine namespaces to which a valid resource identifier must conform. Asanother example, the namespace may require that resource identifiers beglobally unique identifiers (GUIDs).

Resources (e.g., distributions, performance metrics, comparison metrics,etc.) may be stored in hosted storage service 820 in buckets. In someexamples, each bucket is uniquely named in the hosted storage service820, each data resource is uniquely named in a bucket, and every bucketand data resource combination is unique. Data resources may be uniquelyidentified by a URI that includes the bucket name and the resource name,and identifies the hosted storage service 820. For example, a resourcenamed “/performance_metrics.dat” in a bucket named “metrics” could bespecified using a URI pattern such ashttp://s.hostedstoragesystem.com/metrics/performance_metrics.dat orhttp://fonts.s.hostedstoragesystem.com/performance_metrics.dat.

The interface backend 808, along with the authenticator 809, may handlerequest authentication and authorization, manage data and metadata, andtrack activity, such as for billing. For example, the interface backend1208 may query the authenticator 809 when a request for one or morefonts is received. The interface backend 808 may also provide additionalor alternative functionality. For example, the interface backend 808 mayprovide functionality for independent frontend/backend scaling forresource utilization and responsiveness under localized heavy loads.Data management may be encapsulated in the interface backend 808 whilecommunication serving may be encapsulated in the interface frontend 806.The interface backend 808 may isolate certain security mechanisms fromthe client-facing interface frontend 806.

The interface backend 808 may expose an interface usable by both theinterface frontend 806 and other systems. In some examples, somefeatures of the interface backend 808 are accessible only by aninterface frontend (not shown) used by the owners of the hosted storageservice 820 (internal users). Such features may include those needed foradministrative tasks (e.g., resolving a resource reference to a lowlevel disk address). The interface backend 808 may handle requestauthentication (e.g., ensuring a user's credentials are valid) andauthorization (e.g., verifying that a requested operation is permitted).The interface backend may also provide encryption and decryptionservices to prevent unauthorized access to data, even by internal users.

The interface backend 808 may manage metadata 816 associated with dataresources. User-specified names can be completely defined within themetadata 816, and resource metadata 816 can map a resource name to oneor more datastores 812 storing the resource. The metadata 816 can alsocontain resource creation times, resource sizes, hashes, and accesscontrol lists (ACL) 818 for resources.

The ACLs 818 may generally define who is authorized to perform actionson corresponding resources, and the nature of the permitted actions. Thescope may define a user or group of users and the role may define theaccess permissions for the user or group.

The storage backend 810 may contain multiple datastores 812 a-812 c.Although three datastores 812 are shown, more or fewer are possible.Each of the datastores 812 a-812 c may store data resources 814 a-814 cin a particular format. For example, data store 812 a may store a dataresource 814 a as a binary object, data store 812 b may store a dataresource 814 b in a distributed file system, and data store 812 c maystore a data resource 814 c in a database.

FIG. 9 shows an example computer device 900 and example mobile computerdevice 950, which can be used to implement the techniques describedherein. For example, a portion or all of the operations of aninformation manager (e.g., the information manger 102 shown in FIG. 1)and/or an analyzer (e.g., the vehicle analyzer 214 shown in FIG. 2) maybe executed by the computer device 900 and/or the mobile computer device950. Computing device 900 is intended to represent various forms ofdigital computers, including, e.g., laptops, desktops, workstations,personal digital assistants, servers, blade servers, mainframes, andother appropriate computers. Computing device 950 is intended torepresent various forms of mobile devices, including, e.g., personaldigital assistants, cellular telephones, smartphones, and other similarcomputing devices. The components shown here, their connections andrelationships, and their functions, are meant to be examples only, andare not meant to limit implementations of the techniques describedand/or claimed in this document.

Computing device 900 includes processor 902, memory 904, storage device906, high-speed interface 908 connecting to memory 904 and high-speedexpansion ports 910, and low speed interface 912 connecting to low speedbus 914 and storage device 906. Each of components 902, 904, 906, 908,910, and 912, are interconnected using various busses, and can bemounted on a common motherboard or in other manners as appropriate.Processor 902 can process instructions for execution within computingdevice 900, including instructions stored in memory 904 or on storagedevice 906, to display graphical data for a GUI on an externalinput/output device, including, e.g., display 916 coupled to high speedinterface 908. In other implementations, multiple processors and/ormultiple buses can be used, as appropriate, along with multiple memoriesand types of memory. Also, multiple computing devices 900 can beconnected, with each device providing portions of the necessaryoperations (e.g., as a server bank, a group of blade servers, or amulti-processor system).

Memory 804 stores data within computing device 900. In oneimplementation, memory 904 is a volatile memory unit or units. Inanother implementation, memory 904 is a non-volatile memory unit orunits. Memory 904 also can be another form of computer-readable medium,including, e.g., a magnetic or optical disk.

Storage device 906 is capable of providing mass storage for computingdevice 900. In one implementation, storage device 906 can be or containa computer-readable medium, including, e.g., a floppy disk device, ahard disk device, an optical disk device, a tape device, a flash memoryor other similar solid state memory device, or an array of devices,including devices in a storage area network or other configurations. Acomputer program product can be tangibly embodied in a data carrier. Thecomputer program product also can contain instructions that, whenexecuted, perform one or more methods, including, e.g., those describedabove. The data carrier is a computer- or machine-readable medium,including, e.g., memory 904, storage device 906, memory on processor902, and the like.

High-speed controller 908 manages bandwidth-intensive operations forcomputing device 900, while low speed controller 912 manages lowerbandwidth-intensive operations. Such allocation of functions is anexample only. In one implementation, high-speed controller 908 iscoupled to memory 904, display 916 (e.g., through a graphics processoror accelerator), and to high-speed expansion ports 910, which can acceptvarious expansion cards (not shown). In the implementation, thelow-speed controller 912 is coupled to storage device 806 and low-speedexpansion port 914. The low-speed expansion port, which can includevarious communication ports (e.g., USB, Bluetooth®, Ethernet, wirelessEthernet), can be coupled to one or more input/output devices,including, e.g., a keyboard, a pointing device, a scanner, or anetworking device including, e.g., a switch or router (e.g., through anetwork adapter).

Computing device 900 can be implemented in a number of different forms,as shown in the figure. For example, it can be implemented as standardserver 920, or multiple times in a group of such servers. It also can beimplemented as part of rack server system 924. In addition or as analternative, it can be implemented in a personal computer (e.g., laptopcomputer 922). In some examples, components from computing device 900can be combined with other components in a mobile device (not shown)(e.g., device 950). Each of such devices can contain one or more ofcomputing device 900, 950, and an entire system can be made up ofmultiple computing devices 900, 950 communicating with each other.

Computing device 950 includes processor 952, memory 964, and aninput/output device including, e.g., display 954, communicationinterface 966, and transceiver 968, among other components. Device 950also can be provided with a storage device, including, e.g., amicrodrive or other device, to provide additional storage. Components950, 952, 964, 954, 966, and 968, may each be interconnected usingvarious buses, and several of the components can be mounted on a commonmotherboard or in other manners as appropriate.

Processor 952 can execute instructions within computing device 950,including instructions stored in memory 964. The processor can beimplemented as a chipset of chips that include separate and multipleanalog and digital processors. The processor can provide, for example,for the coordination of the other components of device 950, including,e.g., control of user interfaces, applications run by device 950, andwireless communication by device 950.

Processor 952 can communicate with a user through control interface 958and display interface 956 coupled to display 954. Display 954 can be,for example, a TFT LCD (Thin-Film-Transistor Liquid Crystal Display) oran OLED (Organic Light Emitting Diode) display, or other appropriatedisplay technology. Display interface 956 can comprise appropriatecircuitry for driving display 954 to present graphical and other data toa user. Control interface 958 can receive commands from a user andconvert them for submission to processor 952. In addition, externalinterface 962 can communicate with processor 942, so as to enable neararea communication of device 950 with other devices. External interface962 can provide, for example, for wired communication in someimplementations, or for wireless communication in other implementations.Multiple interfaces also can be used.

Memory 964 stores data within computing device 950. Memory 964 can beimplemented as one or more of a computer-readable medium or media, avolatile memory unit or units, or a non-volatile memory unit or units.Expansion memory 974 also can be provided and connected to device 850through expansion interface 972, which can include, for example, a SIMM(Single In Line Memory Module) card interface. Such expansion memory 974can provide extra storage space for device 950, and/or may storeapplications or other data for device 950. Specifically, expansionmemory 974 can also include instructions to carry out or supplement theprocesses described above and can include secure data. Thus, forexample, expansion memory 974 can be provided as a security module fordevice 950 and can be programmed with instructions that permit secureuse of device 950. In addition, secure applications can be providedthrough the SIMM cards, along with additional data, including, e.g.,placing identifying data on the SIMM card in a non-hackable manner.

The memory can include, for example, flash memory and/or NVRAM memory,as discussed below. In one implementation, a computer program product istangibly embodied in a data carrier. The computer program productcontains instructions that, when executed, perform one or more methods,including, e.g., those described above. The data carrier is a computer-or machine-readable medium, including, e.g., memory 964, expansionmemory 974, and/or memory on processor 952, which can be received, forexample, over transceiver 968 or external interface 962.

Device 950 can communicate wirelessly through communication interface966, which can include digital signal processing circuitry wherenecessary. Communication interface 966 can provide for communicationsunder various modes or protocols, including, e.g., GSM voice calls, SMS,EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, amongothers. Such communication can occur, for example, throughradio-frequency transceiver 968. In addition, short-range communicationcan occur, including, e.g., using a Bluetooth®, WiFi, or other suchtransceiver (not shown). In addition, GPS (Global Positioning System)receiver module 970 can provide additional navigation- andlocation-related wireless data to device 950, which can be used asappropriate by applications running on device 950.

Device 950 also can communicate audibly using audio codec 960, which canreceive spoken data from a user and convert it to usable digital data.Audio codec 960 can likewise generate audible sound for a user,including, e.g., through a speaker, e.g., in a handset of device 950.Such sound can include sound from voice telephone calls, recorded sound(e.g., voice messages, music files, and the like) and also soundgenerated by applications operating on device 950.

Computing device 950 can be implemented in a number of different forms,as shown in the figure. For example, it can be implemented as cellulartelephone 980. It also can be implemented as part of smartphone 982,personal digital assistant, or other similar mobile device.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include one or more computer programsthat are executable and/or interpretable on a programmable system. Thisincludes at least one programmable processor, which can be special orgeneral purpose, coupled to receive data and instructions from, and totransmit data and instructions to, a storage system, at least one inputdevice, and at least one output device.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms machine-readable medium andcomputer-readable medium refer to a computer program product, apparatusand/or device (e.g., magnetic discs, optical disks, memory, ProgrammableLogic Devices (PLDs)) used to provide machine instructions and/or datato a programmable processor, including a machine-readable medium thatreceives machine instructions.

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor)for presenting data to the user, and a keyboard and a pointing device(e.g., a mouse or a trackball) by which the user can provide input tothe computer. Other kinds of devices can be used to provide forinteraction with a user as well. For example, feedback provided to theuser can be a form of sensory feedback (e.g., visual feedback, auditoryfeedback, or tactile feedback). Input from the user can be received in aform, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in acomputing system that includes a backend component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a frontend component (e.g., a client computerhaving a user interface or a Web browser through which a user caninteract with an implementation of the systems and techniques describedhere), or a combination of such backend, middleware, or frontendcomponents. The components of the system can be interconnected by a formor medium of digital data communication (e.g., a communication network).Examples of communication networks include a local area network (LAN), awide area network (WAN), and the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

In some implementations, the engines described herein can be separated,combined or incorporated into a single or combined engine. The enginesdepicted in the figures are not intended to limit the systems describedhere to the software architectures shown in the figures.

A number of embodiments have been described. Nevertheless, it will beunderstood that various modifications can be made without departing fromthe spirit and scope of the processes and techniques described herein.In addition, the logic flows depicted in the figures do not require theparticular order shown, or sequential order, to achieve desirableresults. In addition, other steps can be provided, or steps can beeliminated, from the described flows, and other components can be addedto, or removed from, the described systems. Accordingly, otherembodiments are within the scope of the following claims.

1. A computing device-implemented method comprising: receiving datarepresentative of one or more travel parameters for one or morevehicles, the data for each of the one or more travel parameters beingrepresented with distribution ranges; for each of the one or morevehicles, calculating one or more metric values based on the one or moretravel parameter data distributions; assigning a score to each of theone or more vehicles based on the calculated one or more metric values;and presenting a ranking of the one or more vehicles based on theassigned scores.
 2. The computing device-implemented method of claim 1,wherein the data collected from the one or more vehicles represents atleast one of vehicle position, vehicle speed and time and whereinvehicle speed is greater than or equal to zero.
 3. The computingdevice-implemented method of claim 1, wherein at least one of the travelparameters represents distance traveled by the vehicle.
 4. The computingdevice-implemented method of claim 1, wherein one of the performancemetric values represents a percentage of distance traveled by thevehicle below a particular speed.
 5. The computing device-implementedmethod of claim 1, wherein one of the performance metric values is basedon distance traveled by the vehicle for a period of time.
 6. Thecomputing device-implemented method of claim 1, wherein one of theperformance metric values represents vehicle acceleration.
 7. Thecomputing device-implemented method of claim 1, further comprising:determining one or more vehicle control strategies from the datadistributions.
 8. The computing device-implemented method of claim 1,wherein one of the performance metric values represents fuel efficiency.9. The computing device-implemented method of claim 1, wherein one ofthe performance metric values represents operating cost.
 10. Thecomputing device-implemented method of claim 1, further comprisingtransmitting a control command from the remote data server to therespective information management device of the vehicle selected. 11.The computing device-implemented method of claim 1, further comprisingcontrolling an operation of a propulsion system of the vehicle selectedusing the control command.
 13. A system comprising: a computing devicecomprising: a memory configured to store instructions; and a processorto execute the instructions to perform operations comprising: causingone or more sensors of a plurality of vehicles to transmit datarepresentative of one or more travel parameters for each vehicletraveling a route to a respective information management device of eachvehicle in the plurality of vehicles, the plurality of vehicles having aplurality of distinct propulsion system types; cataloging the data at aremote server into a plurality of distribution ranges for each of theone or more travel parameters; calculating one or more performancemetric values for each vehicle in the plurality of vehicles based on theone or more travel parameters, wherein each performance metric value inthe one or more performance metric values is assigned a weighted valuebased on the plurality of distribution ranges; assigning a score to eachof the one or more vehicles based on the calculated one or more metricvalues; ranking the vehicles in the plurality of vehicles for travelingalong the route based on the assigned scores; and identifying, based onthe ranking, a vehicle selected from the plurality of vehicles foroperation along the route.
 14. The system of claim 13, wherein the datacollected from the one or more vehicles represents at least one ofvehicle position, vehicle speed and time and wherein vehicle speed isgreater than or equal to zero.
 15. The computing device-implementedmethod of claim 1, wherein at least one of the travel parametersrepresents distance traveled by the vehicle.
 16. The system of claim 13,wherein one of the performance metric values represents a percentage ofdistance traveled by the vehicle below a particular speed.
 17. Thesystem of claim 13, wherein one of the performance metric values isbased on distance traveled by the vehicle for a period of time.
 18. Thesystem of claim 13, wherein one of the performance metric valuesrepresents vehicle acceleration.
 19. The system of claim 13, wherein oneof the performance metric values represents fuel efficiency.
 20. Thesystem of claim 13, wherein one of the performance metric valuesrepresents operating cost.